Updates from the Russian translation#369
Updates from the Russian translation#369shamansir wants to merge 49 commits intoBonsaiDen:masterfrom
Conversation
(ru) function/scopes.md - minor grammar fix
...который является его протипом... протипом -> прототипом
Fixed a misprint
Запутанный перевод был, упростил и пояснил я его :)
small correction
…ldn't be a conflict
|
Seems, together with upgrades there were some downgrades introduced. I will review the changes again and re-open this PR when the style fits my current standards. |
|
@koliada, @lhms, @andrepolischuk, @inomdzhon, @creamov All of you made the contributions/fixes to the Russian Translation in this repository (I reassured I included and fixed all of them using this history). Could you please review this one, when you have a chance? Here I try to get rid of the "subscript translation" feeling, in the places I failed to notice almost ten years ago :). |
|
Thanks for doing all this! Hopefully we can get someone to review as it is a big change and I don't speak Russian |
| foo; // [1, 2, 3] | ||
|
|
||
| Присвоение свойству `length` меньшей величины урезает массив, однако присвоение большего значения не даст никакого эффекта. | ||
| Присвоение свойству `length` величины, меньшей чем текущая его длина, урезает массив, однако присвоение большего значения не производит никакого эффекта. |
There was a problem hiding this comment.
Усложнил. Давай попробуем перефразировать.
| ## Оператор `delete` | ||
|
|
||
| Если говорить коротко, то JavaScript *невозможно* удалить глобальную переменную, функцию или любой другой объект, которому задан атрибут `DontDelete` . | ||
| Если говорить кратко — в JavaScript невозможно удалить глобальную переменную или функцию или любую другую сущность, у которой установлен атрибут `DontDelete`. |
There was a problem hiding this comment.
Я бы оставил запятую между "переменную" и "функцию".
| упомянутый ранее `DontDelete`. Объявление переменных и функций в коде | ||
| функции или глобально всегда создает свойство с атрибутом `DontDelete`, и поэтому | ||
| не может быть удалено. | ||
| Когда переменная или функция определена в глобальной области видимости или в [области видимости функции](#function.scopes), её судьба предопределена: (_прим. перев._ — внутри движка JavaScript) она является свойством (`property`) либо объекта `Activation`, либо объекта `Global`. Подобные сущности имеют набор внутренних атрибутов, одним из которых и является упомянутый ранее `DontDelete`. Переменные и объявления функций, замеченные движком в глобальной области или в коде функций, создаются с атрибутом `DontDelete` и поэтому не могут быть удалены. |
There was a problem hiding this comment.
"её судьба предопределена: (прим. перев. — внутри движка JavaScript)" — по моему, это лишнее.
"замеченные движком в ..." — звучит странно. Движок скорее "интерпретирует", а не "замечает" что либо. Предлагаю убрать слово "движок" и сформулировал как-то так: "Для переменных и функций, объявленных в глобальной области видимости или внутри других функций, всегда создается атрибут DontDelete и поэтому они не могут быть удалены"
| Свойства, установленные явно, могут быть безпрепятственно удалены: | ||
|
|
||
| // явно заданные свойства: | ||
| // явно установим свойства: |
There was a problem hiding this comment.
- явно установим свойства
+ явно установленные свойства| В приведённом примере свойства `obj.x` и `obj.y` могут быть удалены, поскольку у них отсутствует атрибут `DontDelete`. По этой же причине работает и пример ниже: | ||
|
|
||
| // работает хорошо везде, кроме IE: | ||
| // работает нормально, но не в IE |
There was a problem hiding this comment.
Тут стоит либо вообще убрать этот комментарий, либо пояснить, почему в IE это работает "не нормально" и в каких версиях. В любом случае, можно обойтись без эпитетов.
| Здесь, чтобы удалить `a`, мы используем один трюк. В этом коде [`this`](#function.this) ссылается на объект `Global` и мы явно описываем переменную `a` под видом его свойства, что и позволяет нам её успешно удалить. | ||
|
|
||
| Из-за нескольких багов в IE (как минимум 6-8) предыдущий код работать в нем не будет. | ||
| Internet Explorer (по крайней мере, с 6-го по 8-й) содержит баги, из-за которых такой код не сработает. |
|
@shamansir thanks for the effort, really appreciated 👏! How close is this to being shippable? |
These ones were away for years, since I was improving our fork of translation back in 2014 without making an actual PR. It's probably one of the reasons why googling the original returned the Russian result at a second place (shamansir#5) after the original for some time. These include a lot of important stylistic fixes, while may (unfortunately) introduce some outdated things, so needs a close review from Russian colleagues.
I plan (finally) to delete my outdated "mirror" (actually, to replace it with a Disclaimer and a proper link to the original, because a lot of Russian resources still refer to my version), but I think it's important to move these language-related fixes to the original, in this case.
Since it conflicts withmaster, I'll try to review the changes required to make it fit.